qwe2052190 发表于 2021-8-27 15:42:01

大牛们救救孩子吧

为啥了不起的循环Ⅲ的课后作业手动题的最后一道我用jupyter把代码写完整了,而且jupyter上可以跑了,但是同样的代码复制到idle里就不能跑了,大牛们救救孩子吧,谢谢了先

逃兵 发表于 2021-8-27 15:44:43

发代码别发图片

qwe2052190 发表于 2021-8-27 15:50:46

#抛硬币测试:
import random
counts = int(input("请输入次数: "))
z = 0 #正面出现的次数
f = 0 #反面出现的次数
#根据输入次数判断是否打印结果:
if counts >= 100:
    time = True
else:
    time = False
#出现连续正面最大次数:
z_m = 0
#出现连续反面最大次数:
f_m = 0
#出现连续正面次数:
z_l = 0
#出现连续反面次数:
f_l = 0
#最后上一次状态,正面为1,反面为2:
last = 0

i = 0
while i < counts:
    num = random.randint(1,20)
    if num % 2 == 0:
      #如果上次为反面,则连续正面的次数记为1:
      if last == 2:
            z_l = 1
      #如果出现连续正面次数大于连续正面最大次数,则替换之:
      if z_l > z_m:
            z_m = z_l
      if not time:
            print("正面",end=' ')
      z = z + 1
      z_l = z_l + 1
      #上一次状态设为正面:
      last = 1
    else:
      #如果上次为正面,则连续反面的次数记为1:
      if last == 1:
            f_l = 1
      #如果出现连续反面次数大于连续反面最大次数,则替换之:
      if f_l > f_m:
            f_m = f_l
      if not time:
            print("反面",end=' ')
      f = f + 1
      f_l = f_l + 1
      #上一次状态设为反面:
      last = 2
    i = i + 1
print()
print("测试结果: ",sep='')
print("正面: ",z,sep='')
print("反面: ",f,sep='')
print("连续正面最多",z_m,"次",sep='')
print("连续反面最多",f_m,"次",sep='')

代码就是这个

逃兵 发表于 2021-8-27 16:01:37

代码没问题,你在idle文本模式下按F5可以运行

IDLE交互模式下不能跨行写

qwe2052190 发表于 2021-8-27 16:22:23

逃兵 发表于 2021-8-27 16:01
代码没问题,你在idle文本模式下按F5可以运行

IDLE交互模式下不能跨行写

好的,谢谢大牛,那个交互模式怎么打开呀,我以打开IDLE就自动是shell了{:5_96:}

逃兵 发表于 2021-8-27 16:53:49

qwe2052190 发表于 2021-8-27 16:22
好的,谢谢大牛,那个交互模式怎么打开呀,我以打开IDLE就自动是shell了

你可以创建一个.txt文件

修改后缀名为.py

最后右键Edit with IDLE

逃兵 发表于 2021-8-27 17:11:14

也可以打开IDLE以后ctrl+N

qwe2052190 发表于 2021-8-28 15:06:21

逃兵 发表于 2021-8-27 17:11
也可以打开IDLE以后ctrl+N

灰常感谢大佬{:5_91:}
页: [1]
查看完整版本: 大牛们救救孩子吧