Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要弄清楚如何让我的程序重复。(Python编码类)_Python - Fatal编程技术网

我需要弄清楚如何让我的程序重复。(Python编码类)

我需要弄清楚如何让我的程序重复。(Python编码类),python,Python,我是python编码课程的初学者。我已经完成了大部分工作,程序本身也可以运行,但是我需要找出一种方法,让程序询问是否需要减法或加法问题,以及用户是否需要其他问题。我向我的老师寻求帮助,但他还没有给我回复,所以我只是想弄明白我到底需要做什么 import random x = int(input("Please enter an integer: ")) if x < 0: x = 0 print('Negative changed to zero') elif

我是python编码课程的初学者。我已经完成了大部分工作,程序本身也可以运行,但是我需要找出一种方法,让程序询问是否需要减法或加法问题,以及用户是否需要其他问题。我向我的老师寻求帮助,但他还没有给我回复,所以我只是想弄明白我到底需要做什么

import random

x = int(input("Please enter an integer: ")) 
 if x < 0:

    x = 0

    print('Negative changed to zero')

 elif x == 0:

    print('Zero')

 elif x == 1:

     print('Single')

 else:

     print('More')    

 maximum = 10 ** x;
 maximum += 1
 firstnum = random.randrange(1,maximum)       # return an int from 1 to 100

 secondnum = random.randrange(1, maximum)

 compsum = firstnum + secondnum           # adds the 2 random numbers together

#  print (compsum)                       # print for troubleshooting

 print("What is the sum of", firstnum, " +", secondnum, "?")    # presents problem to user

 added = int(input("Your answer is: "))   # gets user input

 if added == compsum:                     # compares user input to real answer

   print("You are correct!!!")

 else:

   print ("Sorry, you are incorrect") 
随机导入
x=int(输入(“请输入整数:”)
如果x<0:
x=0
打印('负片变为零')
elif x==0:
打印('0')
elif x==1:
打印('单个')
其他:
打印(“更多”)
最大值=10**x;
最大值+=1
firstnum=random.randrange(1,最大值)#返回1到100之间的整数
secondnum=random.randrange(1,最大值)
compsum=firstnum+secondnum#将两个随机数相加
#打印(compsum)#打印用于故障排除
打印(“firstnum,+”,secondnum,“?”)的总和是多少?向用户提出问题
added=int(输入(“您的答案是:)#获取用户输入
如果添加==compsum:#将用户输入与实际答案进行比较
打印(“你是对的!!!”)
其他:
打印(“对不起,您不正确”)

如果您想询问另一个问题,请使用while循环并询问用户输入。如果您想让用户输入他是否想要添加或删除,您已经使用了工具来请求这样的输入。只需向用户询问一个字符串。

如果您想询问另一个问题,请使用while循环并向用户询问输入。如果您想让用户输入他是否想要添加或删除,您已经使用了工具来请求这样的输入。只需向用户请求一个字符串。

您将需要执行以下操作:

def foo():
    print("Doing good work...")

while True:
    foo()
    if input("Want to do more good work? [y/n] ").strip().lower() == 'n':
        break
do_good_work = True

while do_good_work:
    foo()
    do_good_work = input("Want to do more good work? [y/n] ").strip().lower() != 'n'
我见过这种构造(即使用
break
)比在Python中使用a更频繁,但两者都可以工作。sentinel版本如下所示:

def foo():
    print("Doing good work...")

while True:
    foo()
    if input("Want to do more good work? [y/n] ").strip().lower() == 'n':
        break
do_good_work = True

while do_good_work:
    foo()
    do_good_work = input("Want to do more good work? [y/n] ").strip().lower() != 'n'

在代码中,您还需要比我做更多的错误检查。

您需要执行以下操作:

def foo():
    print("Doing good work...")

while True:
    foo()
    if input("Want to do more good work? [y/n] ").strip().lower() == 'n':
        break
do_good_work = True

while do_good_work:
    foo()
    do_good_work = input("Want to do more good work? [y/n] ").strip().lower() != 'n'
我见过这种构造(即使用
break
)比在Python中使用a更频繁,但两者都可以工作。sentinel版本如下所示:

def foo():
    print("Doing good work...")

while True:
    foo()
    if input("Want to do more good work? [y/n] ").strip().lower() == 'n':
        break
do_good_work = True

while do_good_work:
    foo()
    do_good_work = input("Want to do more good work? [y/n] ").strip().lower() != 'n'

在您的代码中,您也需要比我做更多的错误检查。

请求用户输入很简单,您只需要使用python内置的input()函数。然后将存储的答案与一些可能的结果进行比较。在您的情况下,这样做很好:

print('Would you like to test your adding or subtracting skills?')
user_choice = input('Answer A for adding or S for subtracting: ')
if user_choice.upper() == 'A':
    # ask adding question
elif user_choice.upper() == 'S':
    # ask substracting question
else:
    print('Sorry I did not understand your choice')
对于重复代码
,而
循环是您的选择,它们将在启动条件为true时重复执行其中的语句

while True: # Condition is always satisfied code will run forever
    # put your program logic here
    if input('Would you like another test? [Y/N]').upper() == 'N':
        break # Break statement exits the loop

使用
input()
函数的结果始终是字符串。我们对它使用一个
.upper()
方法,将其转换为大写。如果您这样编写,不管有人回答N还是N,循环仍然会终止。

请求用户输入很简单,您只需要使用python内置的input()函数。然后将存储的答案与一些可能的结果进行比较。在您的情况下,这样做很好:

print('Would you like to test your adding or subtracting skills?')
user_choice = input('Answer A for adding or S for subtracting: ')
if user_choice.upper() == 'A':
    # ask adding question
elif user_choice.upper() == 'S':
    # ask substracting question
else:
    print('Sorry I did not understand your choice')
对于重复代码
,而
循环是您的选择,它们将在启动条件为true时重复执行其中的语句

while True: # Condition is always satisfied code will run forever
    # put your program logic here
    if input('Would you like another test? [Y/N]').upper() == 'N':
        break # Break statement exits the loop

使用
input()
函数的结果始终是字符串。我们对它使用一个
.upper()
方法,将其转换为大写。如果你这样写,不管有人回答N还是N,循环仍然会终止。

会有帮助。我对循环有这样的想法,但问题循环,但我不太确定如何实现它。
playing=True,而playing:choice=input(“你想要另一个问题吗?y/N:”)if choice==“n”:print“谢谢!祝您愉快!”playing=False否则:print“给另一个问题!”
会很有帮助。我对循环有这样的想法,但问题循环,但我不太确定如何实现它。
在播放时播放=True:choice=input(“你想再问一个问题吗?是/否:”)如果选择==“n”:打印“谢谢!祝您今天过得愉快!“playing=False else:print”给出了另一个问题!“
我尝试了与第一个代码“def quest()类似的东西”“一个,我无法将其正确地设置为字符串,它只是说有语法错误,但我不确定如何修复它。@Packy502如果您使用的是Python 2,您将希望使用
raw\u input
而不是
input
。上面的代码是针对Python 3的。我尝试了与第一个代码“thedef quest()”类似的东西,但我无法将其正确地设置为字符串,它只是说有语法错误,但我不确定如何修复它。@Packy502如果您使用的是Python 2,您将希望使用
原始输入
而不是
输入
。上面的代码是针对Python3的。