鱼C论坛

 找回密码
 立即注册
查看: 1369|回复: 17

[已解决]零基礎04 習題問題

[复制链接]
发表于 2018-3-10 16:38:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 gordon18014 于 2018-3-11 20:47 编辑

i = 10
while i:
        print('我爱鱼C!')
        i = i - 1
SyntaxError: multiple statements found while compiling a single statement

請問是code哪裡寫錯了?
SyntaxError: multiple statements found while compiling a single statement

結語:謝謝各位熱情的回答
最佳答案
2018-3-10 16:40:18
你一定是copy过来的,自己打字输入一遍再看看。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-10 16:40:18 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
你一定是copy过来的,自己打字输入一遍再看看。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 16:54:05 | 显示全部楼层
这是你全部的代码吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 17:06:57 | 显示全部楼层
本帖最后由 tifa2018 于 2018-3-10 17:08 编辑

楼主用的IDLE
就是这个?
QQ截图20180310170526.png

CTRL +N 新建一个文件就好,注意对齐

QQ截图20180310170723.png
  1. i = 10
  2. while i :
  3.     print("s")
  4.     i = i -1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 17:08:40 | 显示全部楼层
复制粘贴在IDLE窗口就是容易出错 重新自己打一遍可能就好了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 17:13:35 | 显示全部楼层
是没有取整的那一步, 就是int一下就好。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-10 17:35:16 | 显示全部楼层
冬雪雪冬 发表于 2018-3-10 16:40
你一定是copy过来的,自己打字输入一遍再看看。

回答各位大大
一開始也以為是複製貼上問題
但從打也是一樣
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-10 17:37:33 | 显示全部楼层
tifa2018 发表于 2018-3-10 17:06
楼主用的IDLE
就是这个?


您好
想請問要如何執行新建檔

像是新開的
會有
  1. Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
  2. Type "copyright", "credits" or "license()" for more information.
  3. >>>
复制代码

像這樣,然後之後自己打完程式碼按enter就會執行

但像你說crtl+n
是完全的新建檔
要如何做執行
有試過儲存run,但失敗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 17:41:12 | 显示全部楼层
https://www.python.org/downloads/
QQ截图20180310153319.png

下载安装这个没有?
安装完这个选这个来运行代码
QQ截图20180310174023.png

然后新建即可
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 17:44:47 | 显示全部楼层
我和你使用的是一个版本,代码是这样的,运行结果如图所示,运行方法:
1、打开idle
2、ctrl+n新建文档
3、复制粘贴进去代码
4、点击Run,然后点Run module (或者直接按F5)
  1. i = 10
  2. while i:
  3.     print('我爱鱼C!')
  4.     i = i - 1
复制代码

捕获.PNG
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-10 18:04:12 | 显示全部楼层
Zmynx_2017 发表于 2018-3-10 17:44
我和你使用的是一个版本,代码是这样的,运行结果如图所示,运行方法:
1、打开idle
2、ctrl+n新建文档

謝謝你  照你的做沒有問題

但是我好奇
為何要再另建一個
而一開始開的idle的行不通
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-10 18:07:49 | 显示全部楼层
tifa2018 发表于 2018-3-10 17:41
https://www.python.org/downloads/

我用的是IDLE沒錯
Q1.png

以下是照著04動手做習題1
照著打
字符的部分我都用亂碼帶過
一直不解都會顯示
SyntaxError: invalid syntax[/code]

  1. >>> print('dkljgfl;kfgj')
  2. dkljgfl;kfgj
  3. >>> guess = 0
  4. >>> import random
  5. >>> times = 3
  6. >>> secret = random.randint(1,10)
  7. >>> print('djflkdghj'')
  8.           
  9. SyntaxError: EOL while scanning string literal
  10. >>> print('djhglkoj')
  11.           
  12. djhglkoj
  13. >>> print('dkljgfl;kfgj'),end = ' ')
  14. SyntaxError: invalid syntax
  15. >>> print('dkljgfl;kfgj',end = ' ')
  16. dkljgfl;kfgj
  17. >>> while guess != secret ) and (times > 0):
  18.        
  19. SyntaxError: invalid syntax
  20. >>> while (guess != secret ) and (times > 0):
  21.         temp = input()
  22.         guess = int(temp)
  23.         times = times -1
  24.         if guess == secret:
  25.                 print('kdfjhlkjd')
  26.         else:
  27.                 print ('dlkfjdlkfg')
  28.         if times > 0:
  29.                 print ('djflkgj',end = ' ' )
  30.         else:
  31.                 print ('fkjlgkjlf')
  32. print('fjsdsjhglkjh')
  33. SyntaxError: invalid syntax
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 18:21:46 | 显示全部楼层
SyntaxError: invalid syntax
意思是非法语句,要么是标点符号问题,多标点符号,拼写错

比如你的第9行错误原因是第7行
print('djflkdghj'') 右边多了一个单引号,print()的括号里用字符串要么两边都是单引号,要么都是双引号,不能一边单一边双
Python是一种追求完美的语言

14行第二个错误原因是
13行print里多了一个右括号

等等。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-10 20:17:03 | 显示全部楼层
tifa2018 发表于 2018-3-10 18:21
SyntaxError: invalid syntax
意思是非法语句,要么是标点符号问题,多标点符号,拼写错

謝謝你的解答 已修正 但換出現其他的問題 想麻煩您
它是會 在第一行後出現一堆紅色空白
如圖
Q2.png
  1. >>> print('dkljgfl;kfgj')
  2. >>> guess = 0
  3. >>> import random
  4. >>> times = 3
  5. >>> secret = random.randint(1,10)
  6. >>> print('djflkdghj')
  7. >>> print('djhglkoj')
  8. >>> print('dkljgfl;kfgj',end = ' ')
  9. >>>
  10. >>> while (guess != secret ) and (times > 0):
  11.         temp = input()
  12.         guess = int(temp)
  13.         times = times -1
  14.         if guess == secret:
  15.                 print('kdfjhlkjd')
  16.         else:
  17.                 print ('dlkfjdlkfg')
  18.         if times > 0:
  19.                 print ('djflkgj',end = ' ' )
  20.         else:
  21.                 print ('fkjlgkjlf')
  22. print('fjsdsjhglkjh')
  23. SyntaxError: multiple statements found while compiling a single statement
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 20:43:30 | 显示全部楼层
本帖最后由 tifa2018 于 2018-3-10 20:45 编辑

代码没有问题
CTRL+N新建一个
把完整代码复制进去运行即可
  1. import random
  2. guess = 0
  3. times = 3
  4. secret = random.randint(1,10)

  5. while (guess != secret ) and (times > 0):
  6.         temp = input("请输入1~10之间的数字:")
  7.         guess = int(temp)
  8.         times = times -1
  9.         if guess == secret:
  10.                 print('1')
  11.         else:
  12.                 print ('2')
  13.         if times > 0:
  14.                 print ('3',end = ' ' )
  15.         else:
  16.                 print ('4')
  17. print('5')
复制代码


把你的代码稍作修改,你看下,
你的代码if-esle语句写的逻辑有点混乱,但是能运行

小提示:一般不要写类似“kdfjhlkjd”之类无意义的语句,不然过段时间你自己都看不懂你自己写的代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 21:09:03 | 显示全部楼层
gordon18014 发表于 2018-3-10 20:17
謝謝你的解答 已修正 但換出現其他的問題 想麻煩您
它是會 在第一行後出現一堆紅色空白
如圖

你这个代码没有什么问题,如果你按照刚才顺序操作没有任何问题的话,
你就仔细对比一下你出错的情况和可以正常运行的情况,看问题在哪里

尤其是细节问题,比如中英文输入法问题,开头瞎打空格啊,等等小问题,
如果不能解决,请把错误部分,截屏,发源代码。大家帮你看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 21:12:25 | 显示全部楼层
gordon18014 发表于 2018-3-10 20:17
謝謝你的解答 已修正 但換出現其他的問題 想麻煩您
它是會 在第一行後出現一堆紅色空白
如圖

你手动一行一行把代码输进去还会出现类似的问题吗?
我感觉你这问题是因为你不是一行一行输的代码啊。
你直接复制了之前的代码,然后按了回车。这是因为你第一行下边还有那三个>>>的原因,可能
不然为什么既然报错了你还可以输入那么多内容,错误提示在最后呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-10 21:46:54 | 显示全部楼层
是不是第四讲作业
老师的参考答案是
  1. import random
  2. guess = 0
  3. times = 3
  4. secret = random.randint(1,10)

  5. while (guess != secret ) and (times > 0):
  6.         temp = input("请输入1~10之间的数字:")
  7.         guess = int(temp)
  8.         times = times -1
  9.         if guess == secret:
  10.                 print("猜中啦,牛逼!")
  11.         else:
  12.             if guess > secret :
  13.                 print ("大了大了")
  14.             else:
  15.                 print("小了小了")
  16.             if times > 0:
  17.                     print ("再试一次吧",end = ' ' )
  18.             else:
  19.                     print ("机会用光啦!")
  20. print("游戏结束,不玩啦")
复制代码



我的作业,你参考下

  1. import random
  2. secret = random.randint(1,10)
  3. count = 0
  4. while (  count < 3 ) :
  5.     count = count + 1
  6.     temp= input("请输入一个1~10之间的数字:")
  7.     guess = int(temp)
  8.     if guess == secret :
  9.         print ("我草,你是小甲鱼心里的蛔虫吗?")
  10.         print ("哼,猜中了也没有奖励")
  11.         break #这里是结束循环
  12.     else :
  13.         if guess > secret :
  14.             print("哥,大了大了~~")
  15.            
  16.         else :
  17.             print("嘿,小了小了!!")
  18.          
  19. else:
  20.     print("很抱歉,您没猜中")
  21. print ("游戏结束,不玩啦")
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-8 10:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表