Python3.2循环
我被困在这个while循环中。我想让它,用户可以点击进入没有答案,打破了循环。在他爆发之后,计算他之前添加的数字的总和,如果总和不是81。告诉用户他没有达到目标值,告诉他达到了什么值,并询问他是否想重新开始 我喜欢做家庭作业,我真的很喜欢:Python3.2循环,python,loops,while-loop,Python,Loops,While Loop,我被困在这个while循环中。我想让它,用户可以点击进入没有答案,打破了循环。在他爆发之后,计算他之前添加的数字的总和,如果总和不是81。告诉用户他没有达到目标值,告诉他达到了什么值,并询问他是否想重新开始 我喜欢做家庭作业,我真的很喜欢: # generate a random number between 1 and 99 sgenrand.randint(1,99) # your code goes here print("Enter coins that add up to 81 ce
# generate a random number between 1 and 99 sgenrand.randint(1,99) # your code goes here
print("Enter coins that add up to 81 cents, one per line.")
#promp the user to start entering coin values that add up to 81
coin = (sgenrand.randint(1,99))
number1 = ("Enter first coin: ")
sum = 0
number1 = eval(input("Enter first coin: "))
while number1 != coin:
if number1 != coin:
number1 = eval(input("Enter next coin: "))
使用
eval(input())
被认为是非常危险的,是一种糟糕的技术。如果这是本课程的教授建议的,那么也许这不是您应该向谁学习python.eval?好的,这里慢一点。你的逻辑是。。。困惑的您拥有流控制,其中的数字为1!=硬币
在真实状态下紧随其后的是(如果数字为1)=硬币
根据定义,必须是正确的。深吸一口气,搜索一下网页,然后再试一次。我本来打算发布一个如何实现这一点的答案,但当我开始认真研究代码时,我意识到我不知道发生了什么。randint
调用的意义是什么?请编辑这个问题,让它更清楚地说明发生了什么。@SethMMorton这是课程教授建议的,那么在这种情况下我应该使用什么函数呢?randint是生成一个介于1,99之间的随机数。如果需要int
,则应使用int
函数。你应该问你的教授为什么eval
被认为是危险的。如果他们不知道的话,我怀疑你会在那门课上学到真正的python编程。哦,所以81是一条红鲱鱼!它应该是从randint
import random as sgenrand
def oneRound():
target = sgenrand.randint(1, 99)
print('Enter coins that add up to {} cents, one per line.'.format(target))
total = int(input('Enter first coin: '))
while True:
s = input('Enter next coin: ')
if not s: break
total += int(s)
if total == target:
print('Well done.')
return True
print('You reached {}.'.format(total))
return input('Do you want to start over? [y/*] ') != 'y'
while not oneRound(): pass