def my_func(c=1, n=None):
while True:
if c > n:
# if counter > number of iterations required
break
a = int(c * (c + 1)/2)
yield a
c += 1
my_object = my_func(n=5)
while True:
try:
print(next(my_object))
except StopIteration:
print("End of Iteration")
break
您好,我有以下内容,基本上它打印三角形数字,我想做的是设置n=用户键盘输入,基本上用户输入一个迭代,它打印出输入的迭代次数的三角形序列。
如果我想在n=无时无限循环,那么这大概就是n=“”。。。但我不知道怎么做
任何帮助都将不胜感激。
这是Python编码
使用Seons解决方案时出错
错误!请输入数字或留空。回溯(最近一次调用):文件"",第15行,get_valid_user_inputValueError:以10为底的int()的无效文字:'a'
在处理上述异常时,发生了另一个异常:
Traceback(最近一次调用): File"", line 20, in File"", line 18, inget_valid_user_inputNameError: name'get_user_input'不是
我们从稍微修改my\u func开始,如果n
int(user_input)
将此值从str
转换为andint
,并将其用作my_funcdef my_func(c=1, n=-1):
while True:
if n>-1 and c > n:
# if counter > number of iterations required
break
a = int(c * (c + 1)/2)
yield a
c += 1
user_input = input("Enter a number, or leave blank for infinite loop: ")
if user_input == "":
n = -1
else:
n = int(user_input)
my_object = my_func(n=n)
while True:
try:
print(next(my_object))
except StopIteration:
print("End of Iteration")
break
下面给出了一个更复杂的版本,它确保用户输入有效。我们递归调用get\u valid\u user\u input函数,直到用户输入为空字符串或整数。
def my_func(c=1, n=-1):
while True:
if n>-1 and c > n:
# if counter > number of iterations required
break
a = int(c * (c + 1)/2)
yield a
c += 1
def get_valid_user_input():
user_input = input("Enter a number, or leave blank for infinite loop: ")
if user_input == "":
return -1
try:
return int(user_input)
except ValueError:
print("Error! Please enter a number or leave blank.")
return get_valid_user_input()
my_object = my_func(n=get_valid_user_input())
while True:
try:
print(next(my_object))
except StopIteration:
print("End of Iteration")
break
任务是“编写一个程序,为用户输入的整数显示用户指示的倍数。” 我想我不需要一个完全直接的答案(尽管我确实想知道要使用的方法/公式),因为我想把这个作为一个学习经验,以便自己完成任务并从中学习。我真的想知道的过程和使用的方法,以及找到一个公式。: 我真的不确定如何编写一个代码,显示一个用户输入的整数的用户输入的数字。最难的部分似乎是编写循环公式。不知道从哪里开始。 到目前为止,我已经: 我真的不确定
问题内容: 我试图用来获取数字列表,但是带有代码 输入给出的结果为,因此我想它会将输入解释为字符串。有什么直接方法可以列出清单吗?也许我可以用来提取整数,但如果可能的话,我宁愿使用更的解决方案。 问题答案: 在Python 3.x中,使用它。 例
问题内容: 我正在尝试找出如何创建输入验证的方法,在该方法中,您不能两次输入相同的数字,而且不能在数字范围内输入,除非它是整数,否则无法输入任何内容。我目前正在创建彩票程序,不确定如何执行此操作。任何帮助将非常感激。我的数字范围验证有效,而其他两个验证无效。我尝试了非重复号码验证,但我不确定如何执行仅数字验证。有人可以告诉我如何构建此结构。 此方法在我的Player类中 问题答案: 如下进行: 运
该代码基于用户输入的列表。然后显示列表并要求输入y/n。如果是,它会显示回车,并允许您输入用逗号分隔的数字。这很好。 然而,在当循环之后,它会启动我还不明白的collections.frequency。只有当数字像12一样一个接一个地输入时,它才起作用,然后点击输入更多的数字,直到按下n。这打破了循环。并显示重复的列表。 然而,如果一次将所有数字输入到一行中,如12、23、55等,则不起作用。它不
我正在做一个由两部分组成的任务,第一部分是创建一个由3行4列组成的数组,然后让用户输入4个数字组成第一行的第一列。因此,如果用户输入1,2,3,4,那么数组应该打印出来:(0对于任务的第二部分,为空。 到目前为止,这就是我所拥有的,但我只使用Java几天,我确信我没有清楚地看到我的错误。我真的很感谢任何帮助我做错了什么。 这是我的代码: 至于任务的第二部分,第二行和第三行需要是该列第一行输入的任何
问题内容: 我有这样的标记: 我希望在用户在第二个输入中意外键入字母时显示跨度。简单吧?作为(可能)相关的问题,当用户移动第一滑块输入时,第二输入中的值消失。为什么?如果我从标记中删除,则不会发生这种情况。 明确说明:我希望用户在键入工具提示时立即看到错误,而无需执行任何“提交”操作。(我不希望实际上根本不需要使用该元素,但是所有相关的演示似乎都需要它。) http://jsfiddle.net/