こんにちは。
今日、リカバリしたばかりのPCに、python3.1をインストールしコマンドラインモードからテスト代わりに

「print "Hello world!"」

と打って実行してみました。
しかし、「SyntaxError: invalid syntax」とエラーが出ます。
「print "Hello world!"」の最後の「"」でエラーが発生していると出たのですが、どういうことなのでしょうか。

pythonは始めたばかりで、参考書で最初に書いてあったのを実行してみたのですが…。しょっぱなからこれだと残念です。私の環境が悪いのかも知れませんが。

プログラミング経験はC、C++で中規模のアプリケーション、2Dゲームを作成した程度です。

お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

現時点でのPythonの書籍はおそらくver2.x用だと思いますが、Python3からいくつか文法が変更されています。


http://docs.python.org/3.0/whatsnew/3.0.html

printは、以前は構文でしたが、関数になったので、カッコが必須です。
print("Hello world!")
    • good
    • 9
この回答へのお礼

教えて頂いた方法で無事成功しました。
逆に関数になると、Cと同じで理解しやすいので良かったです。
URLも示していただき、本当に有難うございました。

お礼日時:2009/05/19 17:19

まず、コマンドプロンプトからpython.exeを起動してみる。

これで対話形式で実行できる。その場で、「print "OK"」とか書いてEnterすれば、その場にOKと表示されるはず。これができれば、Python自体は壊れてない。スクリプトファイルに問題があることになる。理由はいろいろ考えられるが。

・全角文字がどこかに混じってる。
・printのpの前にスペースなどが入っている。
・"Hello world!"の後にスペースなどが入っている。
・そもそもテキストファイルでない。

とか。

この回答への補足

返信有難うございます。
示してくださった方法はすべて試したうえで質問させて頂きました。

補足日時:2009/05/19 17:20
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qmultiple definitionというエラー

現在Ubuntu LinuxのgccでC言語のプログラムをやっています。

https://sourceforge.jp/projects/cc1101driver/scm/svn/blobs/2452/trunk/20140411/code.h

このツリーのcode.hに ”const sig_code2_t PVC_TCP_SIG_CODE[100] = {” というコードを追加してmakeを行うと次のようなエラーが出て実行ファイルが出力されません。



(エラー内容)

---------------(中略)-----------------
gcc -o exe main.o event.o env.o audio.o task.o comm.o menu_show_status.o mount.o net.o misc.o -lpthread
event.o:(.rodata+0x0): multiple definition of `PVC_TCP_SIG_CODE'
main.o:(.rodata+0x0): first defined here
env.o:(.rodata+0x0): multiple definition of `PVC_TCP_SIG_CODE'
main.o:(.rodata+0x0): first defined here
audio.o:(.rodata+0x0): multiple definition of `PVC_TCP_SIG_CODE'
main.o:(.rodata+0x0): first defined here
task.o:(.rodata+0x0): multiple definition of `PVC_TCP_SIG_CODE'
main.o:(.rodata+0x0): first defined here
comm.o:(.rodata+0x0): multiple definition of `PVC_TCP_SIG_CODE'
main.o:(.rodata+0x0): first defined here
mount.o:(.rodata+0x0): multiple definition of `PVC_TCP_SIG_CODE'
main.o:(.rodata+0x0): first defined here
net.o:(.rodata+0x0): multiple definition of `PVC_TCP_SIG_CODE'
main.o:(.rodata+0x0): first defined here
misc.o:(.rodata+0x0): multiple definition of `PVC_TCP_SIG_CODE'
main.o:(.rodata+0x0): first defined here
collect2: error: ld returned 1 exit status
make: *** [exe] Error 1






この const sig_code2_t PVC_TCP_SIG_CODE[100] = {をコメントアウト正常にビルドできるのですが、




この問題を解決するにはどうすれば良いのかご教示頂きますようお願い致します。

現在Ubuntu LinuxのgccでC言語のプログラムをやっています。

https://sourceforge.jp/projects/cc1101driver/scm/svn/blobs/2452/trunk/20140411/code.h

このツリーのcode.hに ”const sig_code2_t PVC_TCP_SIG_CODE[100] = {” というコードを追加してmakeを行うと次のようなエラーが出て実行ファイルが出力されません。



(エラー内容)

---------------(中略)-----------------
gcc -o exe main.o event.o env.o audio.o task.o comm.o menu_show_status.o mount.o net.o misc.o -lpthread
event.o:(.rodat...続きを読む

Aベストアンサー

お約束の「ヘッダに実体を定義してはいけない」ってヤツです。

code.hに記述した内容はall_includes.hに適用されます。
all_includes.h内で#include "code.h"していますからね。

で、all_includes.hの内容はそれぞれ
audio.c、comm.c、env.c、event.c、main.c、misc.c、mount.c、net.c、task.cに適用されます。
つまり、code.hに記述した内容も
audio.c、comm.c、env.c、event.c、main.c、misc.c、mount.c、net.c、task.cに適用されます。
それぞれのオブジェクトファイルにPVC_TCP_SIG_CODE[100]が存在します。

リンクする段階でどのオブジェクトファイルのPVC_TCP_SIG_CODE[100]を使用したらいいのでしょうか?????
というエラーです。

extern宣言して、実体をどこかのソースファイルのみに記述する。
というのが一般的な対処方法です。
# static宣言にすればとりあえずリンクは通るかもしれませんが…無駄が出ますねぇ。
# 今回はconstなので、メモリに無駄が出るだけ…で済むかと思われますが。
http://d.hatena.ne.jp/saitodevel01/20110321/1300685958

お約束の「ヘッダに実体を定義してはいけない」ってヤツです。

code.hに記述した内容はall_includes.hに適用されます。
all_includes.h内で#include "code.h"していますからね。

で、all_includes.hの内容はそれぞれ
audio.c、comm.c、env.c、event.c、main.c、misc.c、mount.c、net.c、task.cに適用されます。
つまり、code.hに記述した内容も
audio.c、comm.c、env.c、event.c、main.c、misc.c、mount.c、net.c、task.cに適用されます。
それぞれのオブジェクトファイルにPVC_TCP_SIG_CODE[100]が存在します。...続きを読む

Qpythonのprintで出力された内容をまとめてstringにいれる

pythonのprintで出力された内容をまとめてstringにいれる方法?

pythonでhtmlをprint出力した内容をstr型などに文字列として

格納したいと考えています。

WEBで調べたのですが、pythonは最近、勉強しはじめたばかりで、

調べ方が悪く、見つけられません。

どのような方法があるのでしょうか?

*勉強不足で申し訳ございません。

Aベストアンサー

Pythonに限った方法ではないですが。

方法1)
printは使わず、 変数に文字列として追加。終了時にその文字列をまとめてprint

方法2)
printの出力先をStringIOオブジェクトにして、ファイルに書く様にして文字列に追加。
終了時にその文字列をまとめてprint

方法3)
自前のprint互換の関数を用意。通常のprintと文字列追加を行う

Qbear the definitions

bear the definitions
という場合、このbearはどういう訳となるのでしょうか?


Bold and capitalized terms not defined herein bear the definitions in the Competition Packet.
という文で使われていました。

「ここで定義していない太字と大文字表記は、Competition Packetに定義されている」という意味でしょうか?

Aベストアンサー

yes

Qnasmでhello, world

FreeBSD4.6.2にを使っているのですが、
以下のソースはコンパイル、実行はできるのですが 、
hello, worldが画面上に表示されません。
ebxに代入する標準出力って1であっていますよね??
どこが間違っているのかわかりません。教えて下さい。

アセンブルは
nasm -f elf hello.asm
ld hello.o
./a.out

とやりました。
以下が ソースです。


section .data

msg db "Hello, world!"

section .text

global _start

_start:

mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, 13
int 80h

mov eax, 1
mov ebx, 0
int 80h

Aベストアンサー

それは、Linuxでのやり方ですね。
FreeBSDではスタックに積みます。

参考URL:http://sfcom.com/Japanese/lg/issue53.html#assembly

Qウィンドウズのアップデートで10月20日に、Definition Up

ウィンドウズのアップデートで10月20日に、Definition Update for wWindows Defender-KB015597(Definition 1.93.26.0)が2回インストールされましたが、そのあとにもう一つ「更新プログラムをインストールしています(50パーセント完了)」とありますが、今日で3日連続表示され、インストールが進みません。なにか解決方法はないでしょうか?PCは初心者クラスです。よろしくお願いします。

Aベストアンサー

>今日で3日連続表示され、インストールが進みません。
ちょっと状況がつかめません。
毎日の起動時に同じ内容が表示されることが3回続いた、ということでしょうか。それとも、72時間の間ずっと「(50パーセント完了)」の状態なのでしょうか。

前者なら
http://menushowdelay.blog13.fc2.com/blog-entry-523.html
とその中のリンクを。
後者なら、とりあえず再起動しましょう。

Q「Hello World」の起源について教えてください

タイトルどおりです。
お願いします。

Aベストアンサー

C言語の開発者であるブライアン・カーニハンとデニス・リッチが書いた著書「The C Programming Language 」
(C言語が規格化されるまでの事実上のCのマニュアルとされていたものだそうです。)
この本に出てくる最初のプログラムが「Hello World」となっており、以来初歩的なプログラムの代表的なものとして伝統的に使われています。

QOn Error GoTo でエラーが発生する

Sub Macro1()

On Error GoTo ErrorTrap1
    '-エラーの発生するコード 1

ErrorTrap1:

On Error GoTo 0

   Do
   On Error GoTo ErrorTrap2
      '-エラーの発生するコード 2
   On Error GoTo 0
   Loop

ErrorTrap2:

End Sub

しかし、以下のようにSubで二つに分けるとエラーは出ません。

Sub Macro1()

On Error GoTo ErrorTrap1
    '-エラーの発生するコード 1

ErrorTrap1:

On Error GoTo 0

Call Macro2

End Sub
Sub Macro2()

    Do
     On Error GoTo ErrorTrap2
      '-エラーの発生するコード 2
    On Error GoTo 0
    Loop

  ErrorTrap2:

End Sub

「On Error GoTo 0」がうまく解除できていないのかと思い、いろいろ試してみました。
しかし、どういった理由かはわかりませんでした。
「On Error GoTo」は、Subでは、ひとつしか使えないのでしょうか。

Sub Macro1()

On Error GoTo ErrorTrap1
    '-エラーの発生するコード 1

ErrorTrap1:

On Error GoTo 0

   Do
   On Error GoTo ErrorTrap2
      '-エラーの発生するコード 2
   On Error GoTo 0
   Loop

ErrorTrap2:

End Sub

しかし、以下のようにSubで二つに分けるとエラーは出ません。

Sub Macro1()

On Error GoTo ErrorTrap1
    '-エラーの発生するコード 1

ErrorTrap1:

On Error GoTo 0

Call Macro2

End Sub
Sub Macro2()

    Do
     On Error G...続きを読む

Aベストアンサー

エラー処理の中でOn Error GoToを記述することはできません。


エラー処理の基本的な構造は、

Sub Macro1()

On Error GoTo ErrorTrap1
    '-エラーの発生するコード 1
On Error GoTo 0

Exit Sub

ErrorTrap1:
  'エラー処理
  Resume Next

End Sub


エラー処理が2つある場合は、

Sub Macro1()

On Error GoTo ErrorTrap1
    '-エラーの発生するコード 1
On Error GoTo 0

Do
  On Error GoTo ErrorTrap2
    '-エラーの発生するコード 2
  On Error GoTo 0
Loop

Exit Sub

ErrorTrap1:
  'エラー処理1
  Resume Next

ErrorTrap2:
  'エラー処理2
  Resume Next

End Sub


Resume Next でエラーが発生した行の次の行から再開します。
Resumeには他の構文もありますので、調べてみてください。

エラー処理の中でOn Error GoToを記述することはできません。


エラー処理の基本的な構造は、

Sub Macro1()

On Error GoTo ErrorTrap1
    '-エラーの発生するコード 1
On Error GoTo 0

Exit Sub

ErrorTrap1:
  'エラー処理
  Resume Next

End Sub


エラー処理が2つある場合は、

Sub Macro1()

On Error GoTo ErrorTrap1
    '-エラーの発生するコード 1
On Error GoTo 0

Do
  On Error GoTo ErrorTrap2
    '-エラーの発生するコード 2
  On Error GoTo 0
Loop

Exit Sub

...続きを読む

QwxGladeで生成したhello.cpp&hello.hファイルをコンパイルしようとするとエラーが出ます

http://0xcc.net/pub/uu-2004-08/

http://d.hatena.ne.jp/foral/20061224
を見て、wxGladeで生成したhello.cpp&hello.hファイルをMSYSのコンソールから

g++ -c hello.cpp 'wx-config --cxxflags --libs'

でコンパイルしようとしたのですが、以下のようなエラーが出てコンパイルできません。

環境はWindows XP
MinGW&MSYS
wxWidgets2.8.7 (パスは、C:\msys\1.0\home\owner)
です。

普通のC++ファイルのコンパイルは出きるのですがwxWidetsが絡むとできないようです。


In file included from hello.cpp:3:
hello.h:3:10: #include expects "FILENAME" or <FILENAME>
hello.h:4:10: #include expects "FILENAME" or <FILENAME>
In file included from hello.cpp:3:
hello.h:13: error: expected class-name before '{' token
hello.h:18: error: expected `)' before '*' token
hello.h:28: error: ISO C++ forbids declaration of `wxStaticText' with no type
hello.h:28: error: expected `;' before '*' token
hello.h:29: error: ISO C++ forbids declaration of `wxPanel' with no type
hello.h:29: error: expected `;' before '*' token
hello.cpp:6: error: expected `)' before '*' token
hello.cpp: In member function `void MyFrame::set_properties()':
hello.cpp:22: error: `wxT' was not declared in this scope
hello.cpp:22: error: `SetTitle' was not declared in this scope
hello.cpp: In member function `void MyFrame::do_layout()':
hello.cpp:30: error: `wxBoxSizer' was not declared in this scope
hello.cpp:30: error: `sizer_1' was not declared in this scope
hello.cpp:30: error: `wxBoxSizer' is not a type
hello.cpp:30: error: `wxVERTICAL' was not declared in this scope
hello.cpp:31: error: `sizer_2' was not declared in this scope
hello.cpp:31: error: `wxBoxSizer' is not a type
hello.cpp:31: error: `wxHORIZONTAL' was not declared in this scope
hello.cpp:32: error: `label_1' was not declared in this scope
hello.cpp:32: error: `wxFIXED_MINSIZE' was not declared in this scope
hello.cpp:33: error: `panel_1' was not declared in this scope
hello.cpp:37: error: `wxEXPAND' was not declared in this scope
hello.cpp:38: error: `SetAutoLayout' was not declared in this scope
hello.cpp:39: error: `SetSizer' was not declared in this scope
hello.cpp:42: error: `Layout' was not declared in this scope
hello.cpp: At global scope:
hello.cpp:48: error: expected class-name before '{' token
hello.cpp:55: error: expected constructor, destructor, or type conversion before "bool"
g++.exe: wx-config --cxxflags --libs: No such file or directory



解決方法が分かる方いらっしゃしましたらご教示頂けると幸いです。

http://0xcc.net/pub/uu-2004-08/

http://d.hatena.ne.jp/foral/20061224
を見て、wxGladeで生成したhello.cpp&hello.hファイルをMSYSのコンソールから

g++ -c hello.cpp 'wx-config --cxxflags --libs'

でコンパイルしようとしたのですが、以下のようなエラーが出てコンパイルできません。

環境はWindows XP
MinGW&MSYS
wxWidgets2.8.7 (パスは、C:\msys\1.0\home\owner)
です。

普通のC++ファイルのコンパイルは出きるのですがwxWidetsが絡むとできないようです。


In file included f...続きを読む

Aベストアンサー

MSYS は使ったことないけど, 少なくとも
g++ -c hello.cpp 'wx-config --cxxflags --libs'
の ' はおかしい気がする. 普通の sh なら ` じゃないかな?

Qステレオミキサーの「realtek high definition a

ステレオミキサーの「realtek high definition audio 6.0.1.5490」より新しいバージョンのものはありますか?更新したいので。

Aベストアンサー

こんばんは。

現状ですと、[R2.47]の"6.0.1.6083"が最新のようです。
RealtekのOHPからダウンロードできます。
http://www.realtek.com.tw/downloads/downloadsCheck.aspx?Langid=4&PNid=24&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false

QMacでPython スクリプトファイルの実行

自分はMacユーザです。

プログラミングに興味があったので
Python2.6のインストールと入門書の購入をしました。

スクリプトファイルの実行をしたいのですが、やり方がわかりません。
Macにあるテキストエディタで print "hello" と入力して、test.pyという名前でデスクトップに保存しました。

購入した本には「LinuxやMac OS Xであれば、シェルからコマンドを入力します。」と記されています。
そもそもシェルの意味が分かりません。。。
「python test.py」と入力とも書いてあるのですが、どこに書くのでしょうか。。

ネットで簡単に調べてみたのですが、いまいち分かりません。
初心者なので、分かりやすく回答して頂けるとありがたいです。
どうか、よろしくお願いします。

Aベストアンサー

一応、Linuxですけど動画を付けておきます。
MacもLinuxもPC-UNIXなんで基本は同じです。

動画では

python デスクトップ/test.py

にしてますが、調べたところ、Mac OS Xのディレクトリ構成は以下のページ

http://homepage.mac.com/nojiri/macosx/feedback10a1.html

を見る限り、

/Users/ユーザー名/Desktop

の模様なんで、「デスクトップに保存」したのなら

python Desktop/test.py

でしょう。多分。

>そもそもシェルの意味が分かりません。

Macにターミナル(あるいは端末)ってあるでしょう?それの事です。
ホントの事言えば正確な言い回しじゃないんですけど、そう考えておいてO.K.です。んで、確かに初心者が「シェル」って言われても困りますね(笑)。
Windowsで言う「コマンドプロンプト」とか「DOS窓」って言われるヤツとまあ同じだ、って考えておいて間違ってないでしょう。

https://www.youtube.com/watch?v=FlV5gAVv1kw

一応、Linuxですけど動画を付けておきます。
MacもLinuxもPC-UNIXなんで基本は同じです。

動画では

python デスクトップ/test.py

にしてますが、調べたところ、Mac OS Xのディレクトリ構成は以下のページ

http://homepage.mac.com/nojiri/macosx/feedback10a1.html

を見る限り、

/Users/ユーザー名/Desktop

の模様なんで、「デスクトップに保存」したのなら

python Desktop/test.py

でしょう。多分。

>そもそもシェルの意味が分かりません。

Macにターミナル(あるいは端末)っ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング