我刚刚开始学习python,通过《像计算机科学家一样思考》这本书,我陷入了一些语言语法。
def amt():
amount = input("Enter your amount: ")
amount = int(amount)
if amount >= 20:
twe = amount / 20
amount = amount - twe * 20
print("You need to pay %d twenty dollar bills" %(twe))
if amount >= 10:
ten = amount / 10
amount = amount - ten * 10
print("You need to pay %d ten dollar bills" %(ten))
if amount >= 5:
five = amount / 5
amount = amount - five * 5
print("You need to pay %d five dollar bills" %(five))
if amount >= 1:
one = amount / 1
amount = amount - one * 1
print("You need to pay %d one dollar bills" %(one))
amt()
当我使用一些输入(比如7)运行此程序时,会收到如下错误消息:
Traceback (most recent call last):
File "dollars.py", line 21, in <module>
amt()
File "dollars.py", line 7, in amt
print("You need to pay %d twenty dollar bills" %(twe))
UnboundLocalError: local variable 'twe' referenced before assignment
为什么if语句不能正常工作?即使输入值小于20,它仍会进入第一个if语句
复制和粘贴您的代码,它运行时不会出错,但它不会做您想要的事情。我想你把%
(模数)和/
(整数除法)混在一起,以确定你需要的账单数量。
此外,当您在代码中看到大量重复的行时,您可能需要重新组织代码。基本上,您的amt
归结为:
def amt():
amount = int(input('Enter your amount: ') )
for name, nomination in [ ('twenty', 20), ('ten', 10), ('five', 5), ('one', 1) ]:
bills = amount // nomination
amount -= bills * nomination
if not bills: continue
print('You need to pay {} {} dollar bill{}.'.format (bills, name, '' if bills == 1 else 's') )
关于整数除法的一些单词:
对于所有的a≥
和b ∈ ℤ \ {0}
,恰好存在一个d≥
和一个r≥
,使得a=db r
和0≤r
它在视觉上不明显,但你在混合标签和空格。看起来print语句在if
中,但实际上不是。
这是您的源代码在Stack Overflow的文本编辑器中的外观:
我正在创建一个基于文本的游戏,并询问性别。但我的else语句似乎不起作用。 打印性别
问题内容: 嗨,我想运行一个if语句,但是在我所有的AS别名附近都会不断出现语法错误,我在做什么错? 问题答案: 有两个问题。缺少BEGIN以及SELECT都需要在每个IF语句内。您不能在SELECT中包含内联IF,如果需要执行此操作,则可以使用CASE语句。
我对Java很陌生,我正在努力学习。我写了少量的代码,但结果并不是我所期望的。看起来,无论我将体重设置为什么,它都不会显示“你的脂肪”上方的打印。我错过了什么? 我希望这段代码能够顺序检查每个else语句给出的int值,并打印出与int值相等的行。
我有以下QueryDSL查询: 它使用计数,因为这是Spring数据用来对结果进行分页的第一个查询。
假设我有一个类似下面的函数checkTime,我必须同时检查多个条件。 (上述示例是假设的) 我使用的函数完全有效,但是: 有没有更好的方法、程序或公式来取代这一点?(不必如此冗长或丑陋) Thanx!
我让用户在一个< code>int[]中输入5个int的列表。然后,我用一个简单的< code>for语句遍历int[]中的这些int。我声明了一个名为“evens”的< code>int变量如果int[]中的数字at ,< code > evens ; 现在我有了 语句: 问题是,无论偶数的值是多少,都会调用它。它可以是5或3,但仍会被调用。我最近一直在使用C#,但这是简单的Java。 整机代码